﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using WebServiceServidor;


public partial class WebForm1 : System.Web.UI.Page
{
    private void ObtenerDatos() {
        WebService s = new WebService();
        AuthenticationHeader ah = new AuthenticationHeader();
        ah.usuario = (string)Session["Usuario"];
        ah.contrasenia = (string)Session["Contrasenia"];
        s.AuthenticationHeaderValue = ah;
        Resultado[] valores = null;
        Grafico grafico=null;

        if (!ASPxTextBox1.Text.Equals(null))
        {
            //String[] a = new String[1];
            //String st = "Mica";

            //a[0] = st;


            //valores = s.GetInfoListaIndicadores(ASPxTextBox1.Text, a);
            valores = s.GetInfoIndicadores(ASPxTextBox1.Text);
        }
        else
            ASPxLabel1.Text = "No ingreso el numero de grupo, intente nuevamente";

        

        DataTable dt_indicador = new DataTable();
        dt_indicador.Columns.Add("Nombre");
        dt_indicador.Columns.Add("Descripcion");
        dt_indicador.Columns.Add("Valor");
        dt_indicador.Columns.Add("Valor Esperado");
        dt_indicador.Columns.Add("Variacion");
        dt_indicador.Columns.Add("Formato Valor");
        dt_indicador.Columns.Add("Formato Variacion");
        dt_indicador.Columns.Add("Maximo");
        dt_indicador.Columns.Add("Minimo");
        dt_indicador.Columns.Add("Alarma");
         DataTable dt_grafico = new DataTable();
   
       dt_grafico.Columns.Add("Titulo");
       dt_grafico.Columns.Add("Descripcion");
       dt_grafico.Columns.Add("Tipo");
       dt_grafico.Columns.Add("Titulo Eje X");
       dt_grafico.Columns.Add("Titulo Eje Y");
       dt_grafico.Columns.Add("Titulo Serie 1");
       dt_grafico.Columns.Add("Titulo Serie 2");
       dt_grafico.Columns.Add("Formato valor");
       dt_grafico.Columns.Add("Cant Series");
       dt_grafico.Columns.Add("Valores");
       if (valores != null)
        {
            foreach (Resultado res in valores)
            {
                Object[] o2 = new Object[10];
                o2[0] = res.Indicador.Nombre;
                o2[1] = res.Indicador.Descripcion;
                o2[2] = res.Indicador.ValorActual;
                o2[3] = res.Indicador.Umbral;
                o2[4] = res.Indicador.Variacion;
                o2[5] = res.Indicador.FormatoValor;
                o2[6] = res.Indicador.FormatoVariacion;
                o2[7] = res.Indicador.Maximo;
                o2[8] = res.Indicador.Minimo;
                o2[9] = res.Indicador.Alarma;
                dt_indicador.Rows.Add(o2);
               

                if(res.Grafico!=null){
                Object[] o = new Object[10];
                o[0] = res.Grafico.Titulo;
                o[1] = res.Grafico.Descripcion;

                o[2] = res.Grafico.Tipo;
                o[3] = res.Grafico.TituloEjeX;
                o[4] = res.Grafico.TituloEjeY;
                o[5] = res.Grafico.TituloSerie1;
                o[6] = res.Grafico.TituloSerie2;
                o[7] = res.Grafico.FormatoValores;
                o[8] = res.Grafico.CantSeries;
                o[9] = " ";
              
                    if(res.Grafico.Tipo!= "TOR")
                        foreach (Valor v in res.Grafico.Valores)
                        {
                           if( res.Grafico.CantSeries==2)
                                o[9] = (string)o[9] +"Valor: " +v.TituloValor + " " + v.ValorS1 + " " + v.ValorS2 + " ";
                           else
                               o[9] = (string)o[9] + "Valor: " + v.TituloValor + " " + v.ValorS1 + " ";
                        }
                    else
                        foreach (Valor v in res.Grafico.Valores)
                        {
                            o[9] = (string)o[9] + "Valor: " + v.TituloValor + " " + v.ValorS1 + " ";
                        }
                dt_grafico.Rows.Add(o);
                }




            }

            DataView dw = new DataView(dt_indicador);
            ASPxGridView1.DataSource = dw;
            ASPxGridView1.DataBind();

           DataView dw2 = new DataView(dt_grafico);
            ASPxGridView3.DataSource = dw2;
            ASPxGridView3.DataBind();
        }

      
         
               


        if (!ASPxTextBox2.Text.Equals(null) && !ASPxTextBox3.Text.Equals(null))
           grafico=s.obtenerGrafico(ASPxTextBox2.Text,ASPxTextBox3.Text);
        else
            ASPxLabel1.Text = "Falta ingresar datos";
        
        DataTable dt2 = new DataTable();
        dt2.Columns.Add("datos Grafico");
        Object[] datos = new Object[1];
        if (grafico != null)
            if (grafico.Tipo != "TOR")
                foreach (Valor v in grafico.Valores)
                {
                    datos[0] = (string)datos[0] + "Valor: " + v.TituloValor + " " + v.ValorS1 + " " + v.ValorS2 + " ";
                }
            else
                foreach (Valor v in grafico.Valores)
                {
                    datos[0] = (string)datos[0] + "Valor: " + v.TituloValor + " " + v.ValorS1 + " ";
                }

        dt2.Rows.Add(datos);
        DataView dwdos = new DataView(dt2);
        ASPxGridView2.DataSource = dwdos;
        ASPxGridView2.DataBind();

       

    }


    protected void ASPxButton2_Click(object sender, EventArgs e)
    {
        ObtenerDatos();
    }

    protected void ASPxButton5_Click(object sender, EventArgs e)
    {
        WebService s = new WebService();
        AuthenticationHeader ah = new AuthenticationHeader();
        ah.usuario = (string)Session["Usuario"];
        ah.contrasenia = (string)Session["Contrasenia"];
        s.AuthenticationHeaderValue = ah;
        String[] lista = new String[1];
        String st = "IngresoBrutoRevendedores";
       
        lista[0] = st;


        Grafico[] historial = s.GetHistorial("ventas", lista);

        DataTable dt_historial = new DataTable();
        dt_historial.Columns.Add("Titulo");
        dt_historial.Columns.Add("Fecha");
        dt_historial.Columns.Add("Valor");

        foreach (Grafico res in historial)
        {
            foreach (Valor v in res.Valores)
            {
                Object[] o4 = new Object[3];
                o4[0] = res.Titulo;
                o4[1] = v.Fecha;
                o4[2] = v.ValorS1;
                dt_historial.Rows.Add(o4);
            }
        }

        DataView dw = new DataView(dt_historial);
        ASPxGridView4.DataSource = dw;
        ASPxGridView4.DataBind();
    }

   
}
